package com.jt.controller;

import com.jt.pojo.Item;
import com.jt.service.ItemService;
import com.jt.vo.ItemVO;
import com.jt.vo.PageResult;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;

@RestController
@CrossOrigin//跨域
@RequestMapping("/item")
public class ItemController {

    @Autowired
    private ItemService itemService;
    //9.商品列表展现
    /**
     * 请求路径: /item/getItemList?query=&pageNum=1&pageSize=10
     * 请求类型: get
     * 请求参数: 使用pageResult对象接收
     * 返回值: SysResult对象
     */
    @GetMapping("/getItemList")
    public SysResult getItemList(PageResult pageResult){//3
        pageResult = itemService.getItemList(pageResult);//+2
        return SysResult.success(pageResult);
    }
    //商品状态修改
    /**
     * 请求路径: /item/updateItemStatus
     * 请求类型: put
     * 请求参数: 使用对象接收
     * 返回值: SysResult对象
     */
    @PutMapping("/updateItemStatus")
    public SysResult updateItemStatus(@RequestBody Item item){
        itemService.updateItemStatus(item);
        return SysResult.success();
    }
    //商品入库操作
    /**
     * 请求路径: http://localhost:8091/item/saveItem
     * 请求类型: post
     * 前端传递参数分析
     * 返回值: SysResult对象
     */
    @PostMapping("saveItem")
    public SysResult savaItem(@RequestBody ItemVO itemVO){
        itemService.savaItem(itemVO);
        return SysResult.success();
    }
    //商品的删除操作
    /**
     * 请求路径: /item/deleteItemById
     * 请求类型: delete
     * 请求参数: id
     * 返回值: SysResult对象
     */
    @DeleteMapping("deleteItemById")
    public SysResult deleteItemById(Integer id){
        itemService.deleteItemById(id);
        return SysResult.success();
    }
    //文件上传业务接口
    /**
     * 请求路径: http://localhost:8091/file/upload
     * 请求类型: post
     * 请求参数:
     */

}

